package com.china08.yxyapi.entity.mg.esbag.testreport;

import java.util.Date;
import java.util.List;

import javax.persistence.Id;

import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;

import com.china08.yxyapi.entity.mg.MongoBaseEntityNoId;

/**
 * @author Richard.Wang, 授课报告--随堂测试--测试报告--报告详情</br>
 *         每一次授课,每一个题组,每道题存储一条数据.</br>
 * 
 * 
 * @descript
 */
@Deprecated
@Document(collection = "yxy.tea.esbag.teaching.test.report.detail")
public class YxyEsbagTeachingTestReportDetail extends MongoBaseEntityNoId {

    private static final long serialVersionUID = -295018179334903779L;

    /**
     * 授课包id+ques_group_id+questionId
     */
    @Id
    private String id;

    /**
     * 授课包id
     */
    @Field(value = "pack_id")
    private String packId;

    public String getPackId() {
        return packId;
    }

    public void setPackId(String packId) {
        this.packId = packId;
    }

    /**
     * 授课包名称
     */
    @Field(value = "pack_name")
    private String packName;

    @Indexed
    @Field(value = "teacher_id")
    private String teacherId;

    @Field(value = "teacher_nick")
    private String teacherNick;

    @Field(value = "school_id")
    private String schoolId;

    @Field(value = "school_nick")
    private String schoolNick;

    /**
     * 备授课时间
     */
    @Field(value = "pre_date")
    private Date preDate;

    /**
     * 授课时长, 使用秒进行记录.
     */
    @Field(value = "user_time")
    private Long userTime;

    /**
     * 授课班级
     */
    @Field(value = "class_id")
    private String classId;

    /**
     * 授课班级名称
     */
    @Field(value = "class_name")
    private String className;

    @Field(value = "ques_group_id")
    private String quesGroupId;

    @Field(value = "quers_id")
    private String quesId;

    /**
     * 试题类型
     */
    @Field(value = "ques_type")
    private String quesType;

    /** 答案:题的 */
    @Field(value = "answer_of_ques")
    private String answerOfQues;

    /**
     * 正确率
     */
    @Field(value = "rate")
    private Double rate;

    /**
     * 答题情况
     */
    @Field(value = "answers")
    public List<Answer> answers;

    public static class Answer {

        /**
         * 回答此题,所选择的类型 A,B,C,D, 5,4,3,2,1,未批阅
         */
        public String type;

        /**
         * 人数
         */
        public Integer count;

        /**
         * 人员Id.
         */
        public List<String> studentIds;
        /**
         * 人员名单.
         */
        public List<String> studentNames;

    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getPackName() {
        return packName;
    }

    public void setPackName(String packName) {
        this.packName = packName;
    }

    public String getTeacherId() {
        return teacherId;
    }

    public void setTeacherId(String teacherId) {
        this.teacherId = teacherId;
    }

    public String getTeacherNick() {
        return teacherNick;
    }

    public void setTeacherNick(String teacherNick) {
        this.teacherNick = teacherNick;
    }

    public String getSchoolId() {
        return schoolId;
    }

    public void setSchoolId(String schoolId) {
        this.schoolId = schoolId;
    }

    public String getSchoolNick() {
        return schoolNick;
    }

    public void setSchoolNick(String schoolNick) {
        this.schoolNick = schoolNick;
    }

    public Date getPreDate() {
        return preDate;
    }

    public void setPreDate(Date preDate) {
        this.preDate = preDate;
    }

    public Long getUserTime() {
        return userTime;
    }

    public void setUserTime(Long userTime) {
        this.userTime = userTime;
    }

    public String getClassId() {
        return classId;
    }

    public void setClassId(String classId) {
        this.classId = classId;
    }

    public String getClassName() {
        return className;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    public String getQuesGroupId() {
        return quesGroupId;
    }

    public void setQuesGroupId(String quesGroupId) {
        this.quesGroupId = quesGroupId;
    }

    public String getQuesId() {
        return quesId;
    }

    public void setQuesId(String quesId) {
        this.quesId = quesId;
    }

    public String getQuesType() {
        return quesType;
    }

    public void setQuesType(String quesType) {
        this.quesType = quesType;
    }

    public String getAnswerOfQues() {
        return answerOfQues;
    }

    public void setAnswerOfQues(String answerOfQues) {
        this.answerOfQues = answerOfQues;
    }

    public Double getRate() {
        return rate;
    }

    public void setRate(Double rate) {
        this.rate = rate;
    }

    public List<Answer> getAnswers() {
        return answers;
    }

    public void setAnswers(List<Answer> answers) {
        this.answers = answers;
    }

}
